#ifndef PHYSICS_MANAGER_HEADER
#define PHYSICS_MANAGER_HEADER

#include <vector>

#include "Box2D/Box2D.h"
#include "PhysicsPrimitives.h"

class PhysicsManager {
public:
	b2World * mWorld;
	std::vector<PhysicsPrimitive *> mPrims;
	float mTimeStep;
	float mVelIter;
	float mPosIter;

	PhysicsManager( const b2Vec2 & gravity );

	int AddPhysicsObject (PhysicsPrimitive * inPrim , b2Body * inBody = NULL);
	
	float GetTimeStep();

	void Update(float ts);


private:
	
	PhysicsManager();

};


#endif